Skip to content

fix(create-expert): add pick to internal experts for minimal privilege#364

Merged
FL4TLiN3 merged 1 commit intomainfrom
fix/350-add-pick-to-experts
Jan 3, 2026
Merged

fix(create-expert): add pick to internal experts for minimal privilege#364
FL4TLiN3 merged 1 commit intomainfrom
fix/350-add-pick-to-experts

Conversation

@FL4TLiN3
Copy link
Contributor

@FL4TLiN3 FL4TLiN3 commented Jan 3, 2026

Summary

Add pick lists to all 8 internal PBT framework experts to follow the minimal privilege principle.

Changes

Expert Pick List
create-expert ["attemptCompletion"]
property-extractor ["attemptCompletion"]
ecosystem-builder ["readTextFile", "appendTextFile", "attemptCompletion"]
integration-manager ["attemptCompletion"]
functional-manager ["attemptCompletion"]
usability-manager ["attemptCompletion"]
expert-tester ["exec", "attemptCompletion"]
report-generator ["attemptCompletion"]

Rationale

Per docs/making-experts/skills.md:

Use pick/omit to control which tools are available

Most experts only need attemptCompletion because they orchestrate via delegation.

  • ecosystem-builder needs file access to read/append to perstack.toml
  • expert-tester needs exec to run perstack commands

Test plan

  • CI passes
  • Generated experts have correct pick lists

Closes #350

🤖 Generated with Claude Code


Note

Implements least-privilege tool access for internal PBT experts.

  • Updates apps/create-expert/src/lib/create-expert-toml.ts to add pick lists per expert: most use "attemptCompletion" only; ecosystem-builder adds "readTextFile" and "appendTextFile"; expert-tester adds "exec".
  • Adds .changeset/add-pick-to-experts.md to publish the patch and document the exact pick sets.

Written by Cursor Bugbot for commit 18e71db. This will update automatically on new commits. Configure here.

Add pick lists to all 8 internal PBT framework experts to follow the
minimal privilege principle documented in docs/making-experts/skills.md.

Each expert now only has access to the tools it requires:
- create-expert: ["attemptCompletion"] (only orchestrates via delegates)
- property-extractor: ["attemptCompletion"]
- ecosystem-builder: ["readTextFile", "appendTextFile", "attemptCompletion"]
- integration-manager: ["attemptCompletion"]
- functional-manager: ["attemptCompletion"]
- usability-manager: ["attemptCompletion"]
- expert-tester: ["exec", "attemptCompletion"]
- report-generator: ["attemptCompletion"]

Closes #350

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@codecov
Copy link

codecov bot commented Jan 3, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

type = "mcpStdioSkill"
command = "npx"
packageName = "@perstack/base"
pick = ["readTextFile", "appendTextFile", "attemptCompletion"]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ecosystem-builder pick list mismatches its instruction

The ecosystem-builder instruction explicitly states "Use editTextFile to APPEND the Expert ecosystem" and "Do NOT use writeTextFile", but the pick list provides appendTextFile instead of editTextFile. The expert won't have access to the tool its own instructions tell it to use, causing it to fail when attempting to add experts to perstack.toml.

Fix in Cursor Fix in Web

@FL4TLiN3 FL4TLiN3 merged commit a9ff663 into main Jan 3, 2026
7 checks passed
@FL4TLiN3 FL4TLiN3 deleted the fix/350-add-pick-to-experts branch January 3, 2026 05:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix: create-expert internal experts lack pick for minimal privilege

1 participant